<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DM-CtrlH7-BF-DevProgram: C:/Users/ASUS/Desktop/dm-ctrlH7-balance-9025test/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="50x5.png"/></td>
  <td id="projectalign">
   <div id="projectname">DM-CtrlH7-BF-DevProgram<span id="projectnumber">&#160;beta 0.1</span>
   </div>
   <div id="projectbrief">C.ONE Studio Damiao Development Board Framework</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search',true);
  $(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(function(){initNavTree('stm32h7xx__hal__dma_8c.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="headertitle"><div class="title">stm32h7xx_hal_dma.c File Reference</div></div>
</div><!--header-->
<div class="contents">

<p>DMA HAL module driver. This file provides firmware functions to manage the following functionalities of the Direct Memory Access (DMA) peripheral:  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="stm32h7xx__hal_8h_source.html">stm32h7xx_hal.h</a>&quot;</code><br />
</div><a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>DMA HAL module driver. This file provides firmware functions to manage the following functionalities of the Direct Memory Access (DMA) peripheral: </p>
<dl class="section author"><dt>Author</dt><dd>MCD Application Team<ul>
<li>Initialization and de-initialization functions</li>
<li>IO operation functions</li>
<li>Peripheral State and errors functions</li>
</ul>
</dd></dl>
<dl class="section attention"><dt>Attention</dt><dd></dd></dl>
<p>Copyright (c) 2017 STMicroelectronics. All rights reserved.</p>
<p>This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.</p>
<pre class="fragment">==============================================================================
                      ##### How to use this driver #####
==============================================================================
[..]
 (#) Enable and configure the peripheral to be connected to the DMA Stream
     (except for internal SRAM/FLASH memories: no initialization is
     necessary) please refer to Reference manual for connection between peripherals
     and DMA requests .

 (#) For a given Stream, program the required configuration through the following parameters:
     Transfer Direction, Source and Destination data formats,
     Circular, Normal or peripheral flow control mode, Stream Priority level,
     Source and Destination Increment mode, FIFO mode and its Threshold (if needed),
     Burst mode for Source and/or Destination (if needed) using HAL_DMA_Init() function.

   *** Polling mode IO operation ***
   =================================
  [..]
        (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source
            address and destination address and the Length of data to be transferred
        (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this
            case a fixed Timeout can be configured by User depending from his application.

   *** Interrupt mode IO operation ***
   ===================================
  [..]
        (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority()
        (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ()
        (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of
            Source address and destination address and the Length of data to be transferred. In this
            case the DMA interrupt is configured
        (+) Use HAL_DMA_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine
        (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can
            add his own function by customization of function pointer XferCpltCallback and
            XferErrorCallback (i.e a member of DMA handle structure).
  [..]
   (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of error
       detection.

   (#) Use HAL_DMA_Abort() function to abort the current transfer

   -@-   In Memory-to-Memory transfer mode, Circular mode is not allowed.

   -@-   The FIFO is used mainly to reduce bus usage and to allow data packing/unpacking: it is
         possible to set different Data Sizes for the Peripheral and the Memory (ie. you can set
         Half-Word data size for the peripheral to access its data register and set Word data size
         for the Memory to gain in access time. Each two half words will be packed and written in
         a single access to a Word in the Memory).

   -@-   When FIFO is disabled, it is not allowed to configure different Data Sizes for Source
         and Destination. In this case the Peripheral Data Size will be applied to both Source
         and Destination.

   *** DMA HAL driver macros list ***
   =============================================
   [..]
     Below the list of most used macros in DMA HAL driver.

    (+) __HAL_DMA_ENABLE: Enable the specified DMA Stream.
    (+) __HAL_DMA_DISABLE: Disable the specified DMA Stream.
    (+) __HAL_DMA_GET_FS: Return the current DMA Stream FIFO filled level.
    (+) __HAL_DMA_ENABLE_IT: Enable the specified DMA Stream interrupts.
    (+) __HAL_DMA_DISABLE_IT: Disable the specified DMA Stream interrupts.
    (+) __HAL_DMA_GET_IT_SOURCE: Check whether the specified DMA Stream interrupt has occurred or not.

   [..]
    (@) You can refer to the DMA HAL driver header file for more useful macros.
</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a href="dir_60925fc218da8ca7908795bf5f624060.html">Drivers</a></li><li class="navelem"><a href="dir_7baec2ddb99168f99d1052c1aec46b20.html">STM32H7xx_HAL_Driver</a></li><li class="navelem"><a href="dir_64d37a621182a63abe7e18b4de6bd839.html">Src</a></li><li class="navelem"><a href="stm32h7xx__hal__dma_8c.html">stm32h7xx_hal_dma.c</a></li>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
  </ul>
</div>
</body>
</html>
